package com.ssy.lingxi.order.model.dto;

import com.ssy.lingxi.member.merchant.api.model.vo.inner.response.BusinessCategoryFeignVO;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 会员入库分类信息 - 主营品类信息
 * @author 万宁
 * @version 2.0.0
 * @date 2021-12-17
 */
public class MemberCategoryDTO implements Serializable {
    private static final long serialVersionUID = -3017903135065254207L;

    /**
     * 品类列表
     */
    private List<MemberBusinessCategoryDTO> categories;

    /**
     * 结算方式，定义在 PurchaseContractPayTypeEnum 中，1-现结，2-账期(按天), 3-账期(按月)，4-月结
     */
    private Integer payType;

    /**
     * 结算方式名称
     */
    private String payTypeName;

    /**
     * 月， 结算方式为账期(按月)时大于0
     */
    private Integer month;

    /**
     * 每月几号，结算方式为“账期(按月)” 或 “月结” 时大于0
     */
    private Integer monthDay;

    /**
     * 天，结算方式为账期(按天)时大于0
     */
    private Integer days;

    /**
     * 发票类型枚举，定义在 BusinessCategoryInvoiceTypeEnum 中，1-增值税专用发票，2-普通发票，3-机动车专用发票，4-机打发票，5-定额发票
     */
    private Integer invoiceType;

    /**
     * 发票类型名称
     */
    private String invoiceTypeName;

    /**
     * 税点，大于等于0，小于等于1的小数
     */
    private BigDecimal taxPoint;

    public List<MemberBusinessCategoryDTO> getCategories() {
        return categories;
    }

    public void setCategories(List<MemberBusinessCategoryDTO> categories) {
        this.categories = categories;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getPayTypeName() {
        return payTypeName;
    }

    public void setPayTypeName(String payTypeName) {
        this.payTypeName = payTypeName;
    }

    public Integer getMonth() {
        return month;
    }

    public void setMonth(Integer month) {
        this.month = month;
    }

    public Integer getMonthDay() {
        return monthDay;
    }

    public void setMonthDay(Integer monthDay) {
        this.monthDay = monthDay;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceTypeName() {
        return invoiceTypeName;
    }

    public void setInvoiceTypeName(String invoiceTypeName) {
        this.invoiceTypeName = invoiceTypeName;
    }

    public BigDecimal getTaxPoint() {
        return taxPoint;
    }

    public void setTaxPoint(BigDecimal taxPoint) {
        this.taxPoint = taxPoint;
    }
}
